The present invention relates generally to database management systems. More specifically, the present invention relates to methods and apparatus for representing a range of numbers within a database or any suitable memory structure.
Computers are very powerful tools for storing and providing access to vast amounts of information. Computer databases are a common mechanism for storing information on computer systems while providing easy access to users. A typical database is an organized collection of related information stored as “records” having “fields” of information. As an example, a database of employees may have a record for each employee where each record contains fields designating specifics about the employee, such as name, home address, salary, and the like.
Another example of a database record or field is a number, such as a telephone number or router address within a network telephony application. Telephone service providers typically store millions of phone numbers for its customers. Additionally, several numbers may be stored for a single customer. Each router within a network also typically stores millions of router address numbers within a router table. The router utilizes the router table to determine how to route incoming data to other routers.
Networks (e.g., data and/or telephony networks) are rapidly expanding. Thus, the size of databases utilized by a router or service provider, for example, is also correspondingly increasing. Unfortunately, relatively large databases are difficult to manage. For example, access speeds decrease as size increases. Of course, larger databases also consume larger amounts of memory.
In view of the foregoing, there is a need for an improved mechanism for representing numbers within a database so that database size utilization is optimized.